package adminmodel

type Admin struct {
	AdminNameInfo
	Password  string `validate:"required"`             // 密码
	Rank      int    `validate:"min=0,max=4,required"` // 管理员等级
	Signer    string `validate:"required"`             // 创建管理员的管理员
	TimeStamp string `validate:"required"`             // 创建管理员时间
}

type AdminNameInfo struct {
	ID   int    `validate:"min=0"`    // ID
	Name string `validate:"required"` // 名字
}

type UGroupAdmin struct {
	Admin
	UGroupID int `validate:"required"` // 用户组ID号
}

type AdminLogin struct {
	Name     string `validate:"required"` // 管理员帐号
	Password string `validate:"required"` // 管理员密码
}

type AdminReset struct {
	AdminNameInfo
	OldPassword string `validate:"required"`
	NewPassword string `validate:"required"`
	TimeStamp   string `validate:"required"` // 创建管理员时间
}

const (
	SuperAdmin     = iota // 超级管理员
	SystemAdmin           // 系统管理员
	RuleAdmin             // 规则管理员
	AuditAdmin            // 审计管理员
	UserGroupAdmin        // 用户组管理员
)
